Prompt Engineering 系统指南
Prompt Engineering 是 AI 产品经理的「新编程语言」。你不需要调整模型权重,但你需要精确地告诉模型做什么、怎么做——这种能力直接决定了 AI 功能的实际效果与用户体验质量。
1. Prompt Engineering 的本质
Prompt Engineering 是通过设计输入文本(Prompt)来引导大语言模型产生期望输出的技术与方法论。
它不是「魔法咒语」,而是与模型的结构化沟通。好的 Prompt 本质上是:
上下文 + 任务描述 + 约束条件 + 输出格式 + 示例(可选)
为什么重要:同样的模型,优秀 Prompt 与糟糕 Prompt 的输出质量差距可达数倍。许多「AI 能力不足」的产品问题,根源是 Prompt 设计问题而非模型问题。
2. 基础提示策略
2.1 零样本提示(Zero-shot Prompting)
直接描述任务,不提供示例。
【Zero-shot 示例】
将以下用户评论分类为「正面」「负面」「中性」:
"这款产品功能不错,但价格偏高,考虑一下再买。"
适用场景:通用任务、模型已熟悉的领域 局限:对于专业、小众或格式要求严格的任务,效果不稳定
2.2 少样本提示(Few-shot Prompting)
提供 3-5 个示例,让模型「举一反三」。
【Few-shot 示例】
将评论分类为「正面」「负面」「中性」:
评论:"物超所值,下次还买!"
分类:正面
评论:"质量太差,买了就后悔。"
分类:负面
评论:"普通,没什么特别的。"
分类:中性
评论:"配送很快,产品也符合描述,满意!"
分类:
最佳实践:
- 示例要覆盖边界情况,不要全是简单例子
- 示例格式要与期望输出格式一致
- 3-5 个示例通常最优,过多会占用 Context Window
2.3 思维链提示(Chain-of-Thought,CoT)
引导模型「展示推理步骤」,显著提升复杂推理任务的准确率。
【标准 CoT:在提示末尾加「让我们一步步思考」】
一家咖啡店早上卖出 35 杯咖啡,下午卖出比早上多 20%,
晚上卖出下午的一半。全天共卖出多少杯?
让我们一步步思考:
【模型输出】
早上:35 杯
下午:35 × 1.2 = 42 杯
晚上:42 ÷ 2 = 21 杯
全天:35 + 42 + 21 = 98 杯
进阶:Few-shot CoT——提供包含推理步骤的示例,效果更佳。
注意:CoT 对 100B+ 参数的大模型效果显著,对小模型(<7B)提升有限。
3. System Prompt 设计
3.1 什么是 System Prompt
在 GPT/Claude API 中,System Prompt 是对话开始前给模型设定的「系统级指令」,优先级高于用户消息,且用户通常不可见。
# API 调用结构示例
messages = [
{
"role": "system",
"content": "你是一位专业的产品经理助手,专注于 B2B SaaS 领域..."
},
{
"role": "user",
"content": "帮我写一份竞品分析报告框架"
}
]
3.2 System Prompt 模板
# 角色定义
你是 [具体角色],具备 [核心专业能力]。
# 任务范围
你的职责是 [可以做什么]。
你不应该 [明确禁止项]。
# 行为准则
- [准则1]
- [准则2]
- [准则3]
# 输出格式
[期望的输出格式说明]
# 语气风格
[正式/轻松/专业/友好 等]
3.3 真实案例:客服机器人 System Prompt
你是「极光智能」的客服助手小光。
【能力范围】
- 解答产品使用问题
- 协助处理退换货申请
- 提供订单状态查询引导
【行为规则】
- 始终用礼貌、温暖的语气
- 无法解决的问题,引导用户联系人工客服(电话:400-xxx-xxxx)
- 不评价竞品,不承诺具体赔偿金额
- 涉及用户隐私(手机号、订单)只做脱敏确认,不完整展示
【输出格式】
回答简洁(100字以内),必要时用序号分步说明。
每次回复结尾询问:「请问还有其他可以帮助您的吗?」
4. 高级技巧
4.1 角色扮演(Role Prompting)
赋予模型特定角色,能激活其该角色相关的「知识模式」。
你是一位有 15 年经验的风险投资人,曾投资过多家 AI 独角兽。
请从你的视角,评估以下 AI 创业项目的商业可行性:
[项目描述]
效果:角色越具体、越专业,模型响应质量越高。
4.2 输出格式控制
请分析以下文章的情感倾向,用 JSON 格式返回结果:
{
"sentiment": "positive/negative/neutral",
"confidence": 0-1之间的数值,
"key_phrases": ["关键短语1", "关键短语2"],
"summary": "一句话总结"
}
文章内容:[文章]
技巧:
- 提供 JSON Schema 或示例结构,强制格式化输出
- 在 Claude/GPT-4 中可使用
response_format: {"type": "json_object"}参数 - 需要表格时,直接说「以 Markdown 表格格式输出」
4.3 约束与护栏(Guardrails)
规则:
1. 只回答与[产品领域]相关的问题
2. 如果用户问及竞争对手,礼貌地转移话题
3. 不生成任何个人信息、联系方式
4. 如果不确定,说「我需要确认一下」,而不是猜测
4.4 自我验证(Self-Verification)
请完成以下任务,并在最后检查你的答案是否满足所有要求:
[任务描述]
完成后,请对照以下清单自检:
□ 字数在 200-300 字之间
□ 包含至少 3 个具体数据点
□ 没有使用专业术语(面向普通用户)
□ 结尾有行动号召(Call to Action)
5. 常见误区与陷阱
5.1 误区一:越长越好
❌ 错误:写了 500 字描述背景,然后提出问题
✅ 正确:先说任务,再给必要背景
研究表明,过长的 Prompt 中,关键指令被「淹没」反而效果变差,尤其在 Prompt 中间的内容容易被忽视(Lost in the Middle 现象)。
5.2 误区二:否定式指令
❌ 错误:不要用复杂词汇,不要写太长,不要偏离主题
✅ 正确:使用初中生能理解的词汇,控制在150字以内,聚焦于[主题]
模型对「不要做什么」的理解不如「做什么」稳定。
5.3 误区三:假设模型有上下文记忆
❌ 错误:在第 10 轮对话中说「按之前说的格式」
✅ 正确:每次需要格式时重新说明,或在 System Prompt 中固定
每次 API 调用是独立的,对话历史需要显式传入,且受 Context Window 限制。
5.4 误区四:忽视模型差异
| 特点 | GPT-4o | Claude 3.5 Sonnet |
|---|---|---|
| 指令跟随 | 强 | 极强 |
| 创意写作 | 好 | 更自然 |
| 代码生成 | 强 | 强 |
| 格式遵循 | 较好 | 非常好 |
| 拒绝倾向 | 中等 | 较高(安全优先) |
| 幻觉率 | 中等 | 较低 |
同一个 Prompt 在不同模型上可能需要调整。
6. Prompt 工程化流程
6.1 从原型到生产
阶段一:探索(Exploration)
→ 在 ChatGPT/Claude 界面手动测试
→ 快速迭代,找到有效方向
阶段二:结构化(Structuring)
→ 将成功的 Prompt 模板化
→ 提取变量(用 {变量名} 标记)
阶段三:测试(Testing)
→ 准备 20-50 个测试用例(覆盖正常、边界、异常场景)
→ 批量评估输出质量
阶段四:监控(Monitoring)
→ 生产环境中记录 Prompt-Response 对
→ 定期抽样人工审核
→ 发现分布漂移时更新 Prompt
6.2 Prompt 版本管理
像管理代码一样管理 Prompt:
# prompt_config.yaml
version: "2.3.1"
last_updated: "2024-01-15"
author: "产品团队"
description: "客服机器人主 Prompt"
changelog:
- "2.3.1: 增加退款场景处理"
- "2.3.0: 优化语气,减少机械感"
- "2.2.0: 添加多语言支持"
system_prompt: |
[Prompt 内容]
test_cases:
- input: "我的订单在哪里"
expected_contains: ["订单号", "查询"]
7. 产品经理实战清单
在为产品功能设计 Prompt 时,逐项检查:
【Prompt 设计检查清单】
□ 角色:是否明确了模型扮演的角色和专业背景?
□ 任务:是否用肯定句清晰描述了期望输出?
□ 格式:是否指定了输出格式(JSON/Markdown/纯文本)?
□ 约束:是否列出了关键的行为边界和禁止项?
□ 示例:对于非标准任务,是否提供了 2-3 个 Few-shot 示例?
□ 长度:Prompt 是否精简?有没有可删除的冗余信息?
□ 测试:是否用至少 10 个真实用例验证了效果?
□ 护栏:是否考虑了用户绕过指令的恶意输入场景?
□ 版本:Prompt 是否已记录版本和变更记录?
□ 监控:生产环境是否有输出质量监控机制?
8. 本节要点
- Prompt Engineering 是结构化沟通:上下文、任务、约束、格式、示例五要素缺一不可。
- Few-shot > Zero-shot:对于专业任务,提供高质量示例是最快提升效果的方法。
- 思维链(CoT)解锁复杂推理:让模型展示步骤,准确率大幅提升。
- System Prompt 是产品 AI 能力的护城河:精心设计的系统提示决定了产品的 AI 个性和能力边界。
- 用肯定句、指定格式、避免「不要」:三条黄金写法原则。
- 生产级 Prompt 需要版本管理和监控:Prompt 是产品的一部分,需要像代码一样维护。